Network-provided content, such as Internet web pages or media content such as video, pictures, music, and the like, are typically served to end users via networked computer systems. End user requests for the network content are processed and the content is responsively provided over various network links. These networked computer systems can include origin hosting servers which originally host network content of content creators or originators, such as web servers for hosting a news website. However, these computer systems of individual content creators can become overloaded and slow due to frequent requests of content by end users.
Content delivery networks have been developed that adds a layer of caching between the origin servers of the content providers and the end users. The content delivery networks typically have one or more content nodes distributed across a large geographic region to provide faster and lower latency access to the content for the end users. When end users request content, such as a web page, the content node is configured (typically through domain name systems or DNS) to respond to the end user requests instead of the origin servers. Domain name systems provide translations of domain names into IP addresses allowing a content node to act as a proxy for the origin servers.
Content of the origin servers can be cached into the content nodes, and can be requested via the content nodes from the origin servers of the content originators when the content has not yet been cached. Content nodes usually cache only a portion of the original source content rather than caching all content or data associated with an original content source. The content nodes can maintain only recently accessed and most popular content as cached from the original content sources. Thus, content nodes exchange data with the original content sources when the end users request requires new or un-cached information or if something has changed in the original content source data.
Overview
Examples disclosed herein provide methods, systems, and software for altering a communication path based on latency or delivery performance data. In one example, a method of operating a content node to alter a communication path includes identifying latency data for a plurality of end user devices communicating with the content node, and identifying that the one or more end user devices in the plurality of end user devices exceed a latency threshold based on the latency data. The method further includes, in response to identifying that the one or more end user devices in the plurality of end user devices exceed the latency threshold, modifying the communication path between the content node and the one or more end user devices by modifying a domain name system (DNS) configuration for the content node.
In another instance, a computer apparatus to operate a content node that caches content in a content delivery network includes processing instructions that direct the content node to identify latency data for a plurality of end user devices communicating with the content node. The processing instructions further direct the content node to identify that the one or more end user devices in the plurality of end user devices exceed a latency threshold based on the latency data. The processing instructions also direct the content node to, in response to identifying that the one or more end user devices in the plurality of end user devices exceed the latency threshold, modify the communication path between the content node and the one or more end user devices by modifying a DNS configuration for the content node. The computer apparatus further includes one or more non-transitory computer readable media that store the processing instructions.
In a further instance, a system to alter a communication path between one or more end user devices and a content node that caches content in a content delivery network includes a DNS configured to provide Internet Protocol (IP) addresses to a plurality of end user devices based on a DNS configuration for the content node. The system further includes the content node configured to identify content delivery performance data for a plurality of end user devices communicating with the content node, and identify that the one or more end user devices in the plurality of end user devices meet a performance condition based on the content delivery performance data. The content node is further configured to, in response to identifying that the one or more end user devices in the plurality of end user devices meet the performance condition, modify the communication path between the content node and the one or more end user devices by modifying the DNS configuration for the content node in the DNS.